This application relates to the field of digital imaging. It is more specifically concerned with quality of images displayed on displays through color calibration.
The color calibration of LCD monitors usually employs methods developed for cathode ray tube (CRT) displays and fully described in the literature in ways known to those skilled in the art. These methods generally assumes that the display satisfies the following conditions:
The CIE chromaticities xyz of the red, green and blue primaries are independent of their luminance levels.
Colors within the display gamut are additive, such that given any color with display-RGB coordinates (R,G,B) its corresponding CIE XYZ vector (X,Y,Z) is equal to the sum of the CIE XYZ vectors of its primaries with display-RGB coordinates: (R,0,0), (0,G,0), (0,0,B).
The intensity of a primary is monotonically increasing with respect to its index value. For example, if a CRT has a range of 256 levels, then red will reach its maximum CIE X for display-RGB coordinates (255,0,0), green will have a maximum CIE Y for (0,255,0) and blue will attain its maximum CIE Z for (0,0,255).
The luminance for the color black of the display is very low. It is not unusual to measure values lower than 0.005 foot-lamberts (fL).
The color of a pixel is independent of the view angle of the observer.
CRT displays generally satisfy these five conditions. Also, generally the linear behavior of a CRT permits us to define, through a calibration process, a 3xc3x973 display matrix Md and intensity tables (also referred to as gamma tables) for each primary. We use the inverse of Md to transform the CIE XYZ color vectors of an image pixel into matrix-RGB. Then we apply the gamma tables to obtain their corresponding display-RGB values. An advantage of this method is that it is not computationally expensive. However, we noticed that LCD displays do not generally satisfy the above five conditions. A group of LCD displays were examined and it was observed that:
The CIE chromaticities xyz for the primaries were dependent on their luminance levels.
Low luminance colors were not additive.
An LCD model we tested reached its maxima CIE X for red level 255, CIE Y for green level 248 and CIE Z for blue level 212.
The luminance for black was about 0.1 fL or at least one order of magnitude higher than the corresponding one for a CRT.
The color of a pixel was dependent on the angle of view.
It would be advantageous to have a method to calibrate any display including LCD, which takes into account a displays special conditions.
This present invention provides methods and apparatus to color calibrate a display. An embodiment of the invention assumes that the observer""s angle of view is almost perpendicular to the center of the screen. Embodiments of the invention include one or more of the following invention aspects:
The ranges for the display coordinates R, G and B are restricted to the levels of red, green and blue which give monotonically increasing values of CIE X, Y and Z respectively. For example the LCD mentioned above has a useful range which is restricted to 0xe2x89xa6Rxe2x89xa6255, 0xe2x89xa6Gxe2x89xa6248, 0xe2x89xa6Bxe2x89xa6212.
In each one of these three ranges we select M sample points for the primaries and their related grays. Their values are used to display patches at the center of a screen which are photometrically measured with a spectroradiometer or colorimeter. Black is subtracted from the resulting CIE XYZ data, before a 3xc3x973 display matrix Md is formed.
The inverse of Md is used to convert the CIE XYZ measurements into matrix-RGB coordinates. For each level, we compare the sum of the primaries to its related gray. We assume that the differences result from errors such as the non-linearity of an LCD and leakage between subpixels. These are computed for each level, then expanded into two types of interpolation tables. The non-linearity of a display device such as an LCD includes the non additivity of primaries.
Given a pixel of any color, we develop a technique for the estimation of its leakage error. This is done by comparing its normalized matrix RGB values, to those of its related primaries and grays.
The processing of an image can be done using one of two methods: the Simple-algorithm and the Full-algorithm. The former is faster than the latter but it is also less precise. A set of gamma tables are developed for each method.